//
// Created by henry on 2025/11/7.
//

/**
 * 数据库管理
 */
#ifndef DEMO1107_PROJ_DATABASE_H
#define DEMO1107_PROJ_DATABASE_H


#include <stdio.h>
#include "sqlite3.h"

//声明数据库句柄
//extern:用于声明一个变量，与定义变量不一样，不会开辟内存空间，
//       如果不用extern声明，而是直接定义的话，因为其他模块都会导入这个变量
//       会导致变量的重复定义，从而报错。
//       extern这种方式确保在编译阶段不出错
extern sqlite3 * db;

//打开数据库
int open_db();

//初始数据库，建表
int init_db();

// 建表声明

// 会员卡表
int create_card();
// 商品购买订单表
int create_orders();
// 用户、员工、管理员表
int create_user();
// 用户、员工、管理员信息表
int create_user_info();
// 商品表
int create_goods();
// 商品进货表
int create_purchase();
// 商品分类表
int create_category();

//关闭数据库
int close_db();


#endif //DEMO1107_PROJ_DATABASE_H
